DPKG(8) | suite dpkg | DPKG(8) |
NOME¶
dpkg - gestore a medio livello di pacchetti Debian
SINTASSI¶
dpkg [opzioni] azione
AVVERTIMENTO¶
Questo manuale è destinato agli utenti che desiderano capire le opzioni della riga di comando di dpkg e gli stati dei pacchetti con maggior dettagli rispetto a quelli forniti con dpkg --help.
Esso non dovrebbe essere usato dai manutentori dei pacchetti che desiderano capire come dpkg installerà i loro pacchetti. Le descrizioni di quello che fa dpkg quando installa e rimuove i pacchetti, sono particolarmente inadeguate. Per informazioni dettagliate riguardo a questo, si è pregati di riferirsi all'argomento Package Management System sotto le debian-faq e nel sistema Info GNU. Per le informazioni riguardo la creazione di pacchetti Debian, vedere l'argomento Debian Package Management Tools nello stesso posto.
DESCRIZIONE¶
dpkg è uno strumento a medio livello per installare, costruire, rimuovere e gestire i pacchetti GNU/Linux Debian. L'interfaccia primaria e più amichevole per dpkg è dselect(8). dpkg è di per sé controllato interamente attraverso i parametri da linea di commando, che consistono esattamente di una azione e nessuna o più opzioni. Il parametro riferito all'azione comunica a dpkg che cosa fare e le opzioni controllano il comportamento dell'azione in alcuni modi.
dpkg può anche essere usato come un'interfaccia (front-end) a dpkg-deb.
Le azioni seguenti sono di dpkg-deb, e se sono incontrate dpkg avvia proprio dpkg-deb con i parametri che gli vengono forniti:
Per le informazioni riguardo queste azioni, si è pregati di riferirsi alla pagina di manuale dpkg-deb(1).
-b, --build,
-c, --contents,
-I, --info,
-f, --field,
-e, --control,
-x, --extract,
-X, --vextract, e
--fsys-tarfile.
INFORMAZIONI RIGUARDO AI PACCHETTI¶
dpkg gestisce alcune informazioni utili riguardo i pacchetti disponibili. Le informazioni si dividono in tre classi: states, selection states e flags. Questi valori sono destinati ad essere cambiati principalmente con dselect.
PACKAGE STATES (STATI DEL PACCHETTO)¶
- installed (installato)
- Il pacchetto è spachettato e correttamente configurato.
- half-installed (semi-installato)
- L'installazione del pacchetto è stata iniziata, ma per qualche motivo non è stata completata.
- not-installed (non-inatallato)
- Il pacchetto non è installato nel proprio sistema.
- unpacked (spacchettato)
- Il pacchetto è spacchettato, ma non configurato.
- half-configured (semi-configurato)
- Il pacchetto è spacchettato ed è stata avviata la configurazione, ma per qualche motivo non è ancora stata completata.
- config-files (file di configurazione)
- Solo i file di configurazione del pacchetto sono presenti nel sistema.
PACKAGE SELECTION STATES (STATI DI SELEZIONE DEL PACCHETTO)¶
- install (installa)
- Il pacchetto è selezionato per l'installazione.
- deinstall (disinstalla)
- Il pacchetto è selezionato per la disinstallazione (per esempio se si vuole rimuovere tutti i file, eccetto quelli di configurazione).
- purge (epurazione)
- Il pacchetto è selezionato per essere rimosso (per esempio se si vuole rimuovere ogni cosa, anche i file di configurazione).
PACKAGE FLAGS (FLAGS DEL PACCHETTO)¶
- hold (tenere)
- Un pacchetto segnato per essere su hold non viene manipolato da dpkg, a meno che non venga forzato a fare questo con l'opzione --force-hold.
- reinst-required
- Un pacchetto marcato con reinst-required è rotto e richiede la re-installazione. Questi pacchetti non possono essere rimossi, a meno che dpkg non venga forzato con l'opzione --force-reinstreq.
AZIONI¶
- dpkg -i | --install package_file...
- Installa il pacchetto. Se è specificata l'opzione
--recursive o -R, invece del package_file si deve
riferire a una directory.
L'installazione consiste dei seguenti passaggi:
1. Estrazione dei file di controllo del nuovo pacchetto.
2. Se un'altra versione dello stesso pacchetto era installata prima della nuova installazione, viene eseguito lo script prerm del vecchio pacchetto.
3. Esecuzione dello script preinst, se è fornito dal pacchetto.
4. Spacchettamento dei nuovi file, e backup dei vecchi file nello stesso momento, così che, se qualcosa va storto, questi possano essere ripristinati.
5. Se un'altra versione dello stesso pacchetto era installata prima della nuova installazione, viene eseguito lo script postrm del vecchio pacchetto. Notare che questo script è eseguito dopo lo script preinst del nuovo pacchetto, perché i nuovi file sono scritti nello stesso momento in cui i vecchi file sono rimossi.
6. Configurazione del pacchetto. Vedere --configure per informazioni dettagliate riguardo a come questo viene fatto.
- dpkg --unpack package_file ...
- Spacchetta il pacchetto, ma non lo configura. Se l'opzione --recursive o -R è specificata, package_file si deve riferire a una directory invece di un file.
- dpkg --configure package ... | -a | --pending
- Riconfigura un pacchetto spacchettato. Se l'opzione -a o
--pending è specificata invece di package, tutti i
pacchetti spacchettati ma non configurati saranno configurati.
La configurazione consiste dei seguenti passaggi:
1. Spacchettamento dei file di configurazione e, nello stesso momento, backup dei vecchi file di configurazione, così che, se qualcosa va storto, questi possano essere ripristinati.
2. Avvio dello script postinst, se fornito dal pacchetto.
- dpkg -r | --remove | -P | --purge package ... | -a | --pending
- Rimuove un pacchetto installato. L'azione -r o --remove
rimuove ogni cosa eccetto i file di configurazione. Questo può
evitare di dover riconfigurare il pacchetto se viene reinstallato
successivamente. (I file di configurazione sono elencati nel file di
controllo debian/conffiles) -P o --purge rimuove ogni
cosa, inclusi i file di configurazione. Se è dato -a o
--pending invece del nome pacchetto, allora tutti i pacchetti non
spacchettati, ma segnati per essere rimossi o eliminati nel file
/var/lib/dpkg/status, saranno rispettivamente rimossi o eliminati.
La rimozione di un pacchetto consiste dei seguenti passaggi:
1. Esecuzione dello script prerm
2. Rimozione dei file installati
3. Esecuzione dello script postrm
- dpkg -p|--print-avail package
- Visualizza i dettagli riguardo al package, come trovati nel file /var/lib/dpkg/available.
- dpkg --update-avail | --merge-avail Packages-file
- L'update di dpkg e dselect fornisce informazioni su quali pacchetti sono disponibili. Con l'azione --merge-avail, le vecchie informazioni sono combinate con le informazioni dal Packages-file. Con l'azione --update-avail, le vecchie informazioni sono sostituite con le informazioni presenti nel Packages-file. Il Packages-file distribuito con Debian GNU/Linux è chiamato semplicemente Packages. Il dpkg tiene una sua memorizzazione dei pacchetti disponibili nel file /var/lib/dpkg/available.
- dpkg -A | --record-avail package_file ...
- Aggiorna le informazioni di dpkg e dselect sui pachetti disponibili, con le informazioni dal pacchetto package_file. Se l'opzione --recursive o -R è specificata, il package_file si deve riferire a una directory.
- dpkg --forget-old-unavail
- Elimina dalla propria 'memoria' i pacchetti non installati e non disponibili.
- dpkg --clear-avail
- Elimina ogni informazione esistente riguardo i pacchetti che sono ancora disponibili.
- dpkg -l | --list package-name-pattern ...
- Elenca i pacchetti forniti con il relativo pattern. Se nessun package-name-pattern è fornito, elenca tutti i pacchetti nel file /var/lib/dpkg/available. In package-name-pattern sono permessi tutti i normali wildchar della shell. (Sarà necessario 'quotare' package-name-pattern per evitare che la shell esegua l'espansione del filename. Per esempio, dpkg -l 'libc5*' fornirà una lista di tutti i pacchetti il cui nome inizia con "libc5".)
- dpkg -s | --status package-name ...
- Riporta lo stato di un pacchetto specificato. Questo visualizza semplicemente l'entrata nel database degli stati del pacchetto installato.
- dpkg -C | --audit
- Ricerca i pacchetti che sono stati installati nel proprio sistema solo parzialmente. dpkg suggerirà che cosa fare con questi pachetti per ottenere il loro funzionamento.
- dpkg --get-selections [pattern...]
- Fornisce una lista di pacchetti selezionati, e la scrive nello stdout.
- dpkg --set-selections
- Imposta le selezioni di pacchetti usando un file letto dallo stdin.
- dpkg --yet-to-unpack
- Ricerca i pacchetti selezionati per l'installazione, ma che per alcune ragioni non sono ancora stati installati.
- dpkg -L | --listfiles package ...
- Elenca i file installati nel proprio sistema dal pacchetto package. È comunque da notare che i file creati da script di installazione di uno specifico pacchetto non sono elencati.
- dpkg -S | --search filename-search-pattern ...
- Ricerca di un file dai pacchetti installati. Tutti i wildchar standard della shell possono essere usati nel percorso.
- dpkg --print-architecture
- Restituisce l'architettura del sistema (per esempio, "i386"). Questa opzione usa il gcc.
- dpkg --print-gnu-build-architecture
- Restituisce la versione GNU dell'architettura del sistema (per esempio, "i486").
- dpkg --print-installation-architecture
- Restituisce l'architettura del sistema per l'installazione.
- dpkg --compare-versions ver1 op ver2
- Compara i numeri di versione, dove op è un operatore binario. dpkg ritorna un segnale di successo (cioè risultato uguale a zero) se le condizioni specificate sono soddisfatte, altrimenti ritorna un segnale di insuccesso (risultato diverso da zero). Ci sono due gruppi di operatori, che differiscono per come trattano una assenza di versione in ver1 o ver2. I primi considerano la versione mancante come più vecchia di qualunque altra versione, e sono: lt le eq ne ge gt. Gli altri considerano la versione mancante come più recente di qualunque altra versione, e sono: lt-nl le-nl ge-nl gt-nl. Altri sono forniti solo per la compatibilità con la sintassi del file control: < << <= = >= >> >.
- dpkg --command-fd <n>
- Accetta una serie di comandi da un file descrittore di ingresso <n>. Nota: le opzioni addizionali impostate dalla linea di comando e attraverso questo file descrittore, non sono reimpostate per i comandi sucessivi eseguiti durante la stessa esecuzione.
- dpkg --help
- Visualizza un breve messaggio di aiuto.
- dpkg --force-help
- Fornisce un aiuto riguardo le opzioni --force-thing.
- dpkg -Dh | --debug=help
- Fornisce un aiuto sulle opzioni di debugging.
- dpkg --licence | dpkg --license
- Visualizza la licenza di dpkg.
- dpkg --version
- Visualizza le informazioni sulla versione di dpkg.
- dpkg-deb-actions
- Vedere dpkg-deb(1) per maggiori informazioni riguardo le seguenti
azioni.
dpkg -b | --build directory [filename]
Costruisce un pacchetto Debian GNU/Linux. dpkg -c | --contents filename
Elenca il contenuto di un pacchetto Debian GNU/Linux. dpkg -e | --control filename [directory]
Estrae le informazioni di controllo da un pacchetto. dpkg -x | --extract filename directory
Estrae i file contenuti in un pacchetto. dpkg -f | --field filename [control-field] ...
Visualizza il/i campo/i del control file di un pacchetto. dpkg --fsys-tarfile filename
Visualizza il filesystem contenuto nel file tar da un pacchetto
Debian. dpkg -I | --info filename [control-file]
Mostra le informazioni riguardo a un pacchetto. dpkg -X | --vextract filename directory
Estrae e visualizza i nomi dei file contenuti da un pacchetto.
OPZIONI¶
Tutte le opzioni possono essere specificate sia dalla linea di
comando che nel file di configurazione di dpkg
/etc/dpkg/dpkg.cfg. Ogni linea nel file di configurazione è
una opzione (esattamente come nella linea di comando, ma senza '-' davanti)
o un commento (se inizia con un #).
- --abort-after=number
- Cambia il numero di errori oltre cui dpkg si arresterà. Il valore predefinito è 50.
- -B|--auto-deconfigure
- Quando un pacchetto è rimosso, c'è la possibilità che un altro pacchetto installato dipenda dal pacchetto rimosso. Specificando questa opzione si causerà la deconfigurazione automatica del pacchetto che dipende da quello rimosso.
- -Doctal | --debug=octal
- Imposta il debugging ON. octal è formato da un assemblaggio
vettoriale (bitwise-orring) di valori della lista qui sotto (notare che
questi valori possono cambiare nelle release future). -Dh o
--debug=help visualizza questi valori di debugging.
numero descrizione
1 Informazioni utili generiche sullo stato di progresso
2 Chiamate e stato dei mantainer scripts
10 Output per ogni file processato
100 Molto output per ogni file processato
20 Output per ogni file di configurazione
200 Molto output per ogni file di configurazione
40 Dipendenze e conflitti
400 Molto output per dipendenze e conflitti
1000 Molte sciocchezze riguardo, ad esempio, la dpkg/info directory
2000 Quantità folle di sciocchezze - --force-things | --no-force-things | --refuse-things
-
Forza (force) o rifiuta (refuse) (no-force e refuse significano la stessa cosa) di fare alcune cose. things è una lista, separata da virgole, di cose qui sotto specificate. --force-help visualizza un messagggio che le descrive. Le cose marcate con un (*) sono forzate di default.
Avvertimento: Queste opzioni sono principalmente intese per un utilizzo da parte di soli esperti. Il loro utilizzo senza la piena conoscenza dei loro effetti potrebbe compromettere l'intero sistema.
all: Commuta in on (o off) tutte le opzioni di forzatura
auto-select(*): Seleziona i pacchetti per installarli e deseleziona i pacchetti per rimuoverli.
downgrade(*): Installa un pacchetto, anche se la nuova versione di questo è già installata.
configure-any: Configura anche tutti i pacchetti spacchettati ma non configurati da cui dipende il pacchetto corrente.
hold: Processa i pacchetti anche se marcati con "hold".
remove-reinstreq: Rimuove un pacchetto, anche se è rotto e marcato per la richiesta di re-installazione. Questo può causare, per esempio, che parti del pacchetto rimangano sul sistema, venendo poi dimenticate da dpkg.
remove-essential: Rimuove un pacchetto, anche se è considerato essenziale. I pacchetti essenziali contengono la maggior parte dei comandi Unix fondamentali. Rimuovere questi pacchetti può portare l'intero sistema a cessare di funzionare, è quindi da usare con cautela.
depends: Commuta tutti i problemi di dipendenza in messaggi di avvertimento.
depends-version: Non si cura della versione quando verifica le dipendenze.
conflicts: Installa il pacchetto, anche se è in conflitto con un altro pacchetto. Questo è pericoloso, usualmente causerà la sovrascrittura di alcuni file.
confmiss: Installa sempre un file di configurazione mancante. Questo è pericoloso dato che non preserva cambiamenti o rimozioni operate al file.
confnew: Se un file di configurazione è stato modificato installa sempre la nuova versione senza chiedere conferma; a meno che non sia stato dato anche --force-confdef, nel cui caso si considera valida l'azione predefinita.
confold: Se un file di configurazione è stato modificato mantiene sempre la versione vecchia senza chiedere conferma; a meno che non sia stato dato anche --force-confdef, nel cui caso si considera valida l'azione predefinita.
confdef: Se un file di configurazione è stato modificato si sceglie sempre l'azione predefinita. Se non c'è alcuna azione predefinita sarà chiesto all'utente cosa fare, a meno che non siano stati dati anche --force-confnew o --force-confold, nel cui caso saranno usate queste impostazioni per decidere sull'azione finale.
overwrite: Sovrascrive un file di un pacchetto con un file di un altro pacchetto.
overwrite-dir Sovrascrive una directory di un pacchetto con un file di un altro pacchetto.
overwrite-diverted: Sovrascrive un file deviato con una versione non deviata.
architecture: Processa anche i pacchetti con architettura sbagliata.
bad-path: PATH è carente di programmi importanti, sono probabili problemi.
not-root: Prova a installare/deinstallare cose anche non come root.
- --ignore-depends=package,...
- Ignora il controllo delle dipendenze per i pacchetti specificati (in realtà il controllo viene eseguito comunque, ma sono restituiti solo avvertimenti riguardo i conflitti e nient'altro).
- --new | --old
- Seleziona il formato nuovo o vecchio per i pacchetti binari. Questa è un'opzione di dpkg-deb(1).
- --nocheck
- Non legge o controlla il contenuto del control file mentre costruisce un pacchetto. Questa è un'opzione di dpkg-deb(1).
- --no-act
- Esegue tutto ciò che si suppone debba essere fatto, ma senza
scrivere alcun cambiamento. È usato per vedere cosa succederebbe
con l'azione specificata, senza modificare nulla realmente.
Assicurarsi di dare --no-act prima del parametro relativo alla azione, altrimenti potrebbero riscontrarsi risultati non desiderati. (per esempio dpkg --purge foo --no-act epurerà prima il pacchetto foo per poi provare ad epurare il pacchetto --no-act, nonostante ci si possa in realtà attendere che non faccia nulla)
- -R | --recursive
- Si occupa ricorsivamente di tutti i files del tipo *.deb trovati nella directory specificata e nelle sue subdirectories. Può essere usato con le azioni -i, -A, --install, --unpack e --avail.
- -G
- Non installa un pacchetto se una nuova versione dello stesso pacchetto è già installata. Questo è un alias di --refuse-downgrade.
- --root=dir | --admindir=dir | --instdir=dir
- Cambia le directory di default. L'admindir di default è /var/lib/dpkg e contiene molti files che forniscono informazioni riguardo lo stato dei pacchetti installati o disinstallati, ecc. La instdir di default è / e si riferisce alla directory dove i pacchetti sono installati. instdir è anche la directory passata a chroot(2) prima dell'esecuzione degli script di installazione del package, significa che gli script vedono la instdir come una directory di root. Il cambiamento di root cambia instdir in dir e admindir in dir/var/lib/dpkg.
- -O | --selected-only
- Processa solamente i pacchetti che sono selezionati per l'installazione. La selezione attuale è fatta con dselect o da dpkg, quando gestisce i pacchetti. Per esempio, quando un pacchetto è rimosso (e quindi non più presente come installato), esso sarà marcato per l'installazione.
- -E | --skip-same-version
- Non installa il pacchetto se la stessa versione è già installata.
- --status-fd <n>
- Invia informazioni sullo stato di un pacchetto al file descrittore <n>. Questo può essere dato molte volte. Gli aggiornamenti dello stato hanno la forma `status: <pkg>: <pkg qstate>'.
FILE¶
- /etc/dpkg/dpkg.cfg
- File di configurazione con le opzioni di default.
Gli altri file elencati di seguito si trovano nelle loro directory di default, vedere l'opzione --admindir su come cambiare la locazione di questi file.
- /var/lib/dpkg/available
- Lista dei pacchetti disponibili.
- /var/lib/dpkg/status
- Fornisce gli stati dei pacchetti disponibili. Questo file contiene informazioni riguardo se un pacchetto è marcato per la rimozione oppure no, se è installato oppure no, etc. Vedere la sezione INFORMAZIONI RIGUARDO I PACCHETTI per ulteriori informazioni.
I seguenti file sono componenti di un pacchetto binario. Vedere deb(5) per ulteriori informazioni riguardo questi file:
VARIABILI D'AMBIENTE¶
- DPKG_NO_TSTP
- Si definisca questa variabile se si preferisce che quando dpkg deve eseguire una uscita su shell esegua una shell nuova piuttosto che sospendersi.
- SHELL
- dpkg verrà eseguito in una nuova shell.
- COLUMNS
- Imposta il numero di colonne che dpkg dovrebbe usare mentre visualizza un testo formattato. Correntemente questa variabile è usata solo da -l.
ESEMPI¶
Per elencare i pacchetti relativi all'editor vi:
dpkg -l '*vi*'
Per vedere le entrate nel file /var/lib/dpkg/available su
due pacchetti:
dpkg --print-avail elvis vim | less
Per cercare la lista dei pacchetti da se stessi:
less /var/lib/dpkg/available
Per rimuovere il pacchetto elvis installato:
dpkg -r elvis
Per installare un pacchetto, prima è necessario trovarlo in
un archivio o in un CDROM. Il file "available" mostra che il
pacchetto vim si trova nella sectione "editors":
cd /cdrom/hamm/hamm/binary/editors dpkg -i vim_4.5-3.deb
Per fare una copia locale degli stati di selezione pacchetti:
dpkg --get-selections >myselections
È possibile trasferire questo file su un altro computer ed
installarlo lì con:
dpkg --set-selections <myselections
Notare che effettivamente questo non installerà o rimuoverà
nessun pacchetto, ma imposterà solamente gli stati di selezione sui
pacchetti richiesti. Sarà necessaria qualche altra applicazione per
effettivamente scaricare ed installare i pacchetti richiesti.
Di norma si può constatare come dselect(8) fornisca un modo più conveniente per modificare gli stati di selezione dei pacchetti.
VEDERE ANCHE¶
dselect(8), dpkg-deb(1), deb(5), e deb-control(5)
BUGS¶
--no-act fornisce in genere meno informazioni di quanto potrebbe essere utile.
AUTORI¶
Vedere /usr/share/doc/dpkg/THANKS per la lista delle persone che hanno contribuito a dpkg . Traduzione in italiano a cura di Hugh Hartmann <hhartmann@libero.it> Revisione a cura di Francesco Grani <kekkograni@tin.it>
12 Aprile, 1998 | Progetto Debian |